package version1;

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
public class OracleJDBC {
    // 1. 定义 Oracle 数据库连接的私有静态属性
    private static String url;
    private static String username;
    private static String password;
    // 2. 静态方法：读取 Oracle 配置文件并赋值属性
    public static void getParam(String fileName) throws Exception {
        Properties p = new Properties();
        // 通过类加载器获取配置文件输入流
        InputStream fis = OracleJDBC.class.getClassLoader().getResourceAsStream(fileName);
        p.load(fis);
        // 读取配置文件中的 Oracle 连接信息
        url = p.getProperty("url");
        username = p.getProperty("username");
        password = p.getProperty("password");
        // 加载 Oracle 数据库驱动（不同版本驱动类名可能有差异，以实际为准）
        Class.forName("oracle.jdbc.driver.OracleDriver");
        System.out.println("Oracle 配置加载成功：" + url + username);
    }
    // 3. 新增获取 Oracle 数据库连接的方法（可选，若后续要操作数据库可直接用）
    public static Connection getConnection() throws Exception {
        return DriverManager.getConnection(url, username, password);
    }

    public static void main(String[] args) throws IOException, SQLException {
        //测试封装概念--链接成功数据库
        Mysql.getParam("db_mysql.properties");
        //参考Mysql封装，写Oracle封装
        //练习：链接成功Mysql-----book表---增加一条记录操作
        //1.创建链接---Connection  代表Java链接成功数据库
        Connection con=DriverManager.getConnection(url,username,password);
        //2.执行sql---Statement--Connection  代表Java执行数据  sql
        Statement st=con.createStatement();
        //3.【CRUD操作：增删改  executeUpdate()  查 executeQuery】
        String sql="insert into book values(6,'余华','活着',79,'2010年',80,'否')";
        //练习：删和改【改sql】--查【参考：OracleJDBC查询方案】
        int rows=st.executeUpdate(sql);  //执行增删改，返回int类型
         System.out.println("成功添加了："+rows+"一条记录");

        //4.关闭链接---Statement--Connection
        st.close();  con.close();
    }
}

